import axios from 'axios'
import { get as getToken } from "@/api/JwtApi";

const api = axios.create({
    baseURL:'/api',
    timeout: 10000
})
//添加一个请求拦截器，在每次请求时，携带一个token到后端
api.interceptors.request.use(config => {
    //每次请求时携带jwt
    config.headers["jwt"] = getToken();
    return config;
}, error => {
    return Promise.reject("请求发送失败: " + error.message);
});
//创建一个响应拦截器
api.interceptors.response.use(resp => {//状态码是200的情况
    let data = resp.data;
    // 暂时注释掉登录拦截功能，方便测试
    // if (data.code === 401) {//jwt无效
    //     location.href = "/login";
    // } else {
        return resp.data;
    // }
}, error => {// 状态码不是200的情况
    if (error.code === 'ECONNABORTED') {
        return Promise.reject("请求超时，请检查网络连接或稍后重试");
    } else if (error.message.includes('Network Error')) {
        return Promise.reject("网络连接错误，请检查后端服务是否启动");
    } else {
        return Promise.reject("获取后端服务器数据异常: " + error.message);
    }
});
export default api;